home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Linux / SLAX 6.0.8 / slax-6.0.8.iso / slax / base / 006-devel.lzm / usr / include / KoDocumentInfoDlg.h < prev    next >
Encoding:
C/C++ Source or Header  |  2007-05-30  |  2.5 KB  |  86 lines

  1. /* This file is part of the KDE project
  2.    Copyright (c) 2000 Simon Hausmann <hausmann@kde.org>
  3.  
  4.    $Id: KoDocumentInfoDlg.h 508787 2006-02-12 18:28:12Z ingwa $
  5.  
  6.    This library is free software; you can redistribute it and/or
  7.    modify it under the terms of the GNU Library General Public
  8.    License as published by the Free Software Foundation; either
  9.    version 2 of the License, or (at your option) any later version.
  10.  
  11.    This library is distributed in the hope that it will be useful,
  12.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  13.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  14.    Library General Public License for more details.
  15.  
  16.    You should have received a copy of the GNU Library General Public License
  17.    along with this library; see the file COPYING.LIB.  If not, write to
  18.    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
  19.  * Boston, MA 02110-1301, USA.
  20. */
  21.  
  22. #ifndef __koDocumentInfoDlg_h__
  23. #define __koDocumentInfoDlg_h__
  24.  
  25. #include <kpropertiesdialog.h>
  26. #include <koffice_export.h>
  27.  
  28. class KDialogBase;
  29. class KoDocumentInfo;
  30. class KoDocumentInfoAuthor;
  31. class KoDocumentInfoAbout;
  32. class KoDocumentInfoUserMetadata;
  33. class KArchiveEntry;
  34.  
  35. class KOFFICECORE_EXPORT KoDocumentInfoDlg : public QObject
  36. {
  37.   Q_OBJECT
  38. public:
  39.   KoDocumentInfoDlg( KoDocumentInfo *docInfo, QWidget *parent = 0, const char *name = 0,
  40.              KDialogBase *dialog = 0 );
  41.   virtual ~KoDocumentInfoDlg();
  42.  
  43.   int exec();
  44.   KDialogBase *dialog() const;
  45.  
  46.   void save();
  47.  
  48. signals:
  49.   void changed();
  50.  
  51. private slots:
  52.   void loadFromKABC();
  53.   void deleteInfo();
  54.   void resetMetaData();
  55.  
  56. private:
  57.   void addAuthorPage( KoDocumentInfoAuthor *authorInfo );
  58.   void addAboutPage( KoDocumentInfoAbout *aboutInfo );
  59.   void addUserMetadataPage( KoDocumentInfoUserMetadata *userMetadataInfo );
  60.  
  61.   void save( KoDocumentInfoAuthor *authorInfo );
  62.   void save( KoDocumentInfoAbout *aboutInfo );
  63.   void save( KoDocumentInfoUserMetadata *userMetadataInfo );
  64.  
  65.   class KoDocumentInfoDlgPrivate;
  66.   KoDocumentInfoDlgPrivate *d;
  67. };
  68.  
  69. class KOFFICECORE_EXPORT KoDocumentInfoPropsPage : public KPropsDlgPlugin
  70. {
  71.   Q_OBJECT
  72. public:
  73.   KoDocumentInfoPropsPage( KPropertiesDialog *props, const char *name = 0,
  74.                            const QStringList & = QStringList() );
  75.   virtual ~KoDocumentInfoPropsPage();
  76.  
  77.   virtual void applyChanges();
  78.  
  79. private:
  80.   void copy( const QString &path, const KArchiveEntry *entry );
  81.   class KoDocumentInfoPropsPagePrivate;
  82.   KoDocumentInfoPropsPagePrivate *d;
  83. };
  84.  
  85. #endif
  86.